package com.ruoyi.pg.pensionProject.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.pg.pensionProject.domain.PgRoleProject;
import com.ruoyi.pg.pensionProject.vo.PgRoleProjectVo;

import java.util.List;

/**
 * 角色项目关联Service接口
 *
 * @author Ming
 * @date 2025-09-09
 */
public interface IPgRoleProjectService extends IService<PgRoleProject> {

    /**
     * 分页查询
     *
     * @param entity
     * @return
     */
    TableDataInfo<PgRoleProjectVo> queryList(PgRoleProjectVo entity);

    /**
     * 查询全部
     *
     * @param entity
     * @return
     */
    List<PgRoleProjectVo> queryAll(PgRoleProjectVo entity);

    /**
     * 根据条件查询项目id列表
     *
     * @param entity
     * @return
     */
    List<String> getIds(PgRoleProjectVo entity);

    /**
     * 根据角色id查询项目id列表
     *
     * @param roleId
     * @return
     */
    List<Long> getProjectIds(List<Long> roleId);

    /**
     * 根据ID查询
     *
     * @param id
     * @return
     */
    PgRoleProjectVo queryById(Long id);

    /**
     * 批量增加
     *
     * @param entity
     * @return
     */
    void insertBatch(PgRoleProjectVo entity);
}
